// $ANTLR 3.4 C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g 2012-11-07 15:56:59

    package practica8;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class ExpresionesLexer extends Lexer {
    public static final int EOF=-1;
    public static final int ASIGNA=4;
    public static final int BLANCO=5;
    public static final int DIGITO=6;
    public static final int DIV=7;
    public static final int IDENT=8;
    public static final int LETRA=9;
    public static final int MAS=10;
    public static final int MENOS=11;
    public static final int MULT=12;
    public static final int NUMERO=13;
    public static final int PARENTESIS_A=14;
    public static final int PARENTESIS_C=15;
    public static final int PUNTO_COMA=16;

         
         private ArrayList<RecognitionException> errors = new ArrayList<RecognitionException>();
         public ArrayList<RecognitionException> getErrors() {
            return errors;
         }
         @Override
         public void reportError (RecognitionException e) {
            String msg = getErrorMessage(e, getTokenNames());
            System.err.println(msg);
            errors.add(e);
         }
     


    // delegates
    // delegators
    public Lexer[] getDelegates() {
        return new Lexer[] {};
    }

    public ExpresionesLexer() {} 
    public ExpresionesLexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public ExpresionesLexer(CharStream input, RecognizerSharedState state) {
        super(input,state);
    }
    public String getGrammarFileName() { return "C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g"; }

    // $ANTLR start "BLANCO"
    public final void mBLANCO() throws RecognitionException {
        try {
            int _type = BLANCO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:27:7: ( ( ' ' | '\\t' | '\\r\\n' | '\\n' ) )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:27:9: ( ' ' | '\\t' | '\\r\\n' | '\\n' )
            {
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:27:9: ( ' ' | '\\t' | '\\r\\n' | '\\n' )
            int alt1=4;
            switch ( input.LA(1) ) {
            case ' ':
                {
                alt1=1;
                }
                break;
            case '\t':
                {
                alt1=2;
                }
                break;
            case '\r':
                {
                alt1=3;
                }
                break;
            case '\n':
                {
                alt1=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;

            }

            switch (alt1) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:27:10: ' '
                    {
                    match(' '); 

                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:27:14: '\\t'
                    {
                    match('\t'); 

                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:27:19: '\\r\\n'
                    {
                    match("\r\n"); 



                    }
                    break;
                case 4 :
                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:27:26: '\\n'
                    {
                    match('\n'); 

                    }
                    break;

            }


            skip();

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "BLANCO"

    // $ANTLR start "DIGITO"
    public final void mDIGITO() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:28:16: ( '0' .. '9' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:
            {
            if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DIGITO"

    // $ANTLR start "LETRA"
    public final void mLETRA() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:29:15: ( 'a' .. 'z' | 'A' .. 'Z' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LETRA"

    // $ANTLR start "NUMERO"
    public final void mNUMERO() throws RecognitionException {
        try {
            int _type = NUMERO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:30:7: ( ( DIGITO )+ ( '.' ( DIGITO )* )? )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:30:9: ( DIGITO )+ ( '.' ( DIGITO )* )?
            {
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:30:9: ( DIGITO )+
            int cnt2=0;
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt2 >= 1 ) break loop2;
                        EarlyExitException eee =
                            new EarlyExitException(2, input);
                        throw eee;
                }
                cnt2++;
            } while (true);


            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:30:18: ( '.' ( DIGITO )* )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0=='.') ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:30:19: '.' ( DIGITO )*
                    {
                    match('.'); 

                    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:30:22: ( DIGITO )*
                    loop3:
                    do {
                        int alt3=2;
                        int LA3_0 = input.LA(1);

                        if ( ((LA3_0 >= '0' && LA3_0 <= '9')) ) {
                            alt3=1;
                        }


                        switch (alt3) {
                    	case 1 :
                    	    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:
                    	    {
                    	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    break loop3;
                        }
                    } while (true);


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NUMERO"

    // $ANTLR start "IDENT"
    public final void mIDENT() throws RecognitionException {
        try {
            int _type = IDENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:31:6: ( LETRA ( LETRA | DIGITO )* )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:31:8: LETRA ( LETRA | DIGITO )*
            {
            mLETRA(); 


            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:31:13: ( LETRA | DIGITO )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( ((LA5_0 >= '0' && LA5_0 <= '9')||(LA5_0 >= 'A' && LA5_0 <= 'Z')||(LA5_0 >= 'a' && LA5_0 <= 'z')) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IDENT"

    // $ANTLR start "PUNTO_COMA"
    public final void mPUNTO_COMA() throws RecognitionException {
        try {
            int _type = PUNTO_COMA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:32:11: ( ';' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:32:13: ';'
            {
            match(';'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PUNTO_COMA"

    // $ANTLR start "MAS"
    public final void mMAS() throws RecognitionException {
        try {
            int _type = MAS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:33:4: ( '+' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:33:6: '+'
            {
            match('+'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "MAS"

    // $ANTLR start "MENOS"
    public final void mMENOS() throws RecognitionException {
        try {
            int _type = MENOS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:34:6: ( '-' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:34:8: '-'
            {
            match('-'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "MENOS"

    // $ANTLR start "MULT"
    public final void mMULT() throws RecognitionException {
        try {
            int _type = MULT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:35:5: ( '*' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:35:7: '*'
            {
            match('*'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "MULT"

    // $ANTLR start "DIV"
    public final void mDIV() throws RecognitionException {
        try {
            int _type = DIV;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:36:4: ( '/' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:36:6: '/'
            {
            match('/'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DIV"

    // $ANTLR start "PARENTESIS_A"
    public final void mPARENTESIS_A() throws RecognitionException {
        try {
            int _type = PARENTESIS_A;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:37:13: ( '(' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:37:15: '('
            {
            match('('); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PARENTESIS_A"

    // $ANTLR start "PARENTESIS_C"
    public final void mPARENTESIS_C() throws RecognitionException {
        try {
            int _type = PARENTESIS_C;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:38:13: ( ')' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:38:15: ')'
            {
            match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PARENTESIS_C"

    // $ANTLR start "ASIGNA"
    public final void mASIGNA() throws RecognitionException {
        try {
            int _type = ASIGNA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:39:7: ( ':=' )
            // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:39:9: ':='
            {
            match(":="); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "ASIGNA"

    public void mTokens() throws RecognitionException {
        // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:1:8: ( BLANCO | NUMERO | IDENT | PUNTO_COMA | MAS | MENOS | MULT | DIV | PARENTESIS_A | PARENTESIS_C | ASIGNA )
        int alt6=11;
        switch ( input.LA(1) ) {
        case '\t':
        case '\n':
        case '\r':
        case ' ':
            {
            alt6=1;
            }
            break;
        case '0':
        case '1':
        case '2':
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
        case '9':
            {
            alt6=2;
            }
            break;
        case 'A':
        case 'B':
        case 'C':
        case 'D':
        case 'E':
        case 'F':
        case 'G':
        case 'H':
        case 'I':
        case 'J':
        case 'K':
        case 'L':
        case 'M':
        case 'N':
        case 'O':
        case 'P':
        case 'Q':
        case 'R':
        case 'S':
        case 'T':
        case 'U':
        case 'V':
        case 'W':
        case 'X':
        case 'Y':
        case 'Z':
        case 'a':
        case 'b':
        case 'c':
        case 'd':
        case 'e':
        case 'f':
        case 'g':
        case 'h':
        case 'i':
        case 'j':
        case 'k':
        case 'l':
        case 'm':
        case 'n':
        case 'o':
        case 'p':
        case 'q':
        case 'r':
        case 's':
        case 't':
        case 'u':
        case 'v':
        case 'w':
        case 'x':
        case 'y':
        case 'z':
            {
            alt6=3;
            }
            break;
        case ';':
            {
            alt6=4;
            }
            break;
        case '+':
            {
            alt6=5;
            }
            break;
        case '-':
            {
            alt6=6;
            }
            break;
        case '*':
            {
            alt6=7;
            }
            break;
        case '/':
            {
            alt6=8;
            }
            break;
        case '(':
            {
            alt6=9;
            }
            break;
        case ')':
            {
            alt6=10;
            }
            break;
        case ':':
            {
            alt6=11;
            }
            break;
        default:
            NoViableAltException nvae =
                new NoViableAltException("", 6, 0, input);

            throw nvae;

        }

        switch (alt6) {
            case 1 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:1:10: BLANCO
                {
                mBLANCO(); 


                }
                break;
            case 2 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:1:17: NUMERO
                {
                mNUMERO(); 


                }
                break;
            case 3 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:1:24: IDENT
                {
                mIDENT(); 


                }
                break;
            case 4 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:1:30: PUNTO_COMA
                {
                mPUNTO_COMA(); 


                }
                break;
            case 5 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:1:41: MAS
                {
                mMAS(); 


                }
                break;
            case 6 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:1:45: MENOS
                {
                mMENOS(); 


                }
                break;
            case 7 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:1:51: MULT
                {
                mMULT(); 


                }
                break;
            case 8 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:1:56: DIV
                {
                mDIV(); 


                }
                break;
            case 9 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:1:60: PARENTESIS_A
                {
                mPARENTESIS_A(); 


                }
                break;
            case 10 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:1:73: PARENTESIS_C
                {
                mPARENTESIS_C(); 


                }
                break;
            case 11 :
                // C:\\Users\\usuario\\workspace\\Practica8-PL\\src\\main\\java\\practica8\\ExpresionesLexer.g:1:86: ASIGNA
                {
                mASIGNA(); 


                }
                break;

        }

    }


 

}